package com.itheima.test01;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/*
 题目一
1. 请定义以下类：
	public class Student{
		private String name;
		private int age;
		//公有、无参构造
		//公有、全参构造
		//公有、get/set方法
		......
		/普通成员方法
		public void show(){
			System.out.println(“大家好，我叫：” + name + “ 我今年：” + age + “ 岁”);
		}
	}
2. 请编写main()方法：
	1). 使用反射获取Student的Class对象。
	2). 获取 “公有、全参构造方法”；
	3). 调用 “公有、全参构造方法”传入：“柳岩”,17两个参数。
	4). 反射获取show()方法
	5). 调用show()方法
 */
public class Test {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
        Class<?> aClass = Class.forName("com.itheima.test01.Student");
        Constructor<?> constructor = aClass.getConstructor(String.class, int.class);
        constructor.setAccessible(true);
        Object obj = constructor.newInstance("刘岩", 17);

        Method show = aClass.getMethod("show");
        show.invoke(obj);
    }
}
